热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

开辟|可能会_操作系统实验六文件管理

篇首语:本文由编程笔记#小编为大家整理,主要介绍了操作系统实验六 文件管理相关的知识,希望对你有一定的参考价值。 ★观前提示:本篇内容为操作系统实验内容,代码等内容经测

篇首语:本文由编程笔记#小编为大家整理,主要介绍了操作系统实验六 文件管理相关的知识,希望对你有一定的参考价值。




★观前提示:本篇内容为操作系统实验内容,代码等内容经测试没有问题,但是可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考



目录


        • 一、实验目的
        • 二、实验内容
        • 三、具体实现
        • 四、实验总结







一、实验目的


  1. 理解文件、目录和文件系统等概念。
  2. 理解操作系统中文件系统的内部功能及内部实现。
  3. 掌握常用的文件操作
  4. 设计一个简单的文件系统,加深理解操作系统中的文件管理

二、实验内容

为linux系统设计一个简单的二级文件系统(其中第一级对应于用户账号,第二级对应于用户帐号下的文件)。要求做到以下几点:


  1. 在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。退出该文件系统的使用时,应将该虚拟文件系统以一个Windows
    文件的方式保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。
  2. 文件存储空间的分配可采用显式链接分配或其他的办法。
  3. 空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT中。
  4. 文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。
  5. 可以实现下列几条命令(至少4条)。
    login 用户登陆
    dir 列文件目录
    create 创建文件
    delete 删除文件
    open 打开文件
    close 关闭文件
    read 读文件
    write 写文件

三、具体实现

1️⃣实验方案选择及分析

为linux系统设计一个简单的二级文件系统

1、在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。

2、文件存储空间的分配可采用显式链接分配或其他的办法

3、空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT中。

4、文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。

5、可以实现下列几条命令(至少4条)。

2️⃣详细步骤及程序清单

①编程实现及运行输出

②创建文件目录file1 mkdir

③进入文件目录file1 cd

④创建子文件目录file2 mkdir

⑤删除子目录file2 rmdir

⑥在file1下创建t1文件 create

⑦打开t1文件 open

⑧向t1文件中写入内容 write

⑨读取t1文件中写入的内容 read

⑩退出系统 exit


四、实验总结

①理解了文件、目录和文件系统等概念、也对操作系统中文件系统的内部功能及内部实现有了一定的认识;
②掌握了常用的文件操作,如mkdir、cd、open、write、exit等;
③成功设计了一个简单的文件系统,加深了自己对操作系统中的文件管理的理解。



2022.9.21记录:Code_流苏(CSDN)
如有任何疑问,评论回复,看到即回,欢迎大家多多交流学习!
★以上实验内容仅供参考。



推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
  • 在Windows系统上安装VMware Workstation 2022的详细步骤
    本文将详细介绍如何在Windows系统上安装VMware Workstation 2022。包括从官方网站下载软件、选择合适的版本以及安装过程中的关键步骤。此外,还将提供一些激活密钥供参考。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
author-avatar
万承裕常明
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有